1. Field of the Invention
The present invention relates to a data processing apparatus for reading data from a recording medium etc., supplying the read data to a buffer, reading the supplied data from the buffer, and processing the read data, and in particular to technology for controlling operations of the data processing apparatus while waiting for free space in the buffer.
2. Related Art
When data processing speeds and data transfer speeds vary between different devices, data processing apparatuses are widely used to absorb the difference in these speeds by supplying data to and reading data from a buffer.
In conventional data processing apparatuses, a free space status of the buffer is observed while controlling the supply of data to the buffer such that data not yet read from the buffer is not overwritten by newly supplied data.
Specifically, the data processing apparatus sequentially observes the buffer use status, and supplies data to the buffer until it is full. When the buffer becomes full, the data processing apparatus stops the supply of data. The data processing apparatus then resumes the supply of data as soon as space becomes available in the buffer.
Note that the following patent documents disclose a system that performs data transmission suppression (see Patent Document 1), and a system that controls the frequency of a read clock in accordance with a remaining buffer volume (see Patent Document 2).
Patent Document 1: Japanese Patent Application Publication No. H01-93852
Patent Document 2: Japanese Patent Application Publication No. 2004-320569
However, given that the above-mentioned conventional data processing apparatus suppresses the supply of data when the buffer becomes full, and resumes the supply of data when there is a free space in the buffer thereafter, there occurs a data transferability wait state from when the supply of data is suppressed until free space becomes available in the buffer. While in this wait state, data cannot be supplied to the buffer, and the data processing apparatus continues to unnecessarily perform processing for controlling the supply of data to the buffer.